<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 外层包裹容器，控制整体布局 */
        .star_wrap {
            position: relative;
            display: inline-block;
            width: 130px;
            /* 设置星星总宽度 */
            height: 25px;
        }

        /* 空心星星（背景星星） */
        .rate::before {
            content: url(../public/images/icon_rate_star_02.png);
            /* 这里使用空心星星的图片 */
            position: absolute;
            top: -2px;
            left: 0;
            display: inline-block;
            width: 130px;
            /* 星星的总宽度 */
            height: 25px;
        }

        /* 实心星星（前景填充星星） */
        .rate::after {
            content: url(../public/images/icon_rate_star_color_02.png);
            /* 这里使用实心星星的图片 */
            position: absolute;
            top: -2px;
            left: 0;
            display: inline-block;
            width: 0;
            /* 初始宽度为0，动态修改 */
            height: 25px;
            overflow: hidden;
            /* 确保溢出部分隐藏 */
        }

        /* 根据评分值动态设置宽度，rate45 对应4.5星 */
        .rate45::after {
            width: 115.5px;
            /* 4.5星的宽度，5星总宽度是130px */
        }
    </style>
</head>

<body>
    <div class="star_wrap">
        <span class="rate rate45"></span>
    </div>
</body>

</html>